/////////////////////////////////////////////////////////////////////
//
//  MOE Framework (Meta Object Encapsulation Framework)
//
//  Original Author: Wiksy Wang, 2011
//
/////////////////////////////////////////////////////////////////////

#ifndef MOE_COMMON_DEF_H
#define MOE_COMMON_DEF_H

namespace MOE
{
	typedef unsigned int ClassIDType;
	const ClassIDType InvalidClassID = 0;

	typedef void* Address;
	typedef const void* ConstAddress;

	enum AtomTypes
	{
		AT_NonAtom = 0,
		AT_Integer = 1,
		AT_Float = 2,
		AT_Bool = 3,
		AT_String = 4,
		AT_WideString = 5,

		AT_TypeCount
	};

	enum DerivedTypes
	{
		DT_Value = 0,
		DT_Pointer = 1,

		DT_TypeCount
	};
}

#endif
